package com.zc58s.concurrent.executor.executors;

import java.util.concurrent.Executors;

public class Programs {

    public static void main(String[] args) {
        // 创建一个可缓存的线程池，如果线程池的大小超过了需要，可以灵活回收线程，如果没有可回收线程，则创建新线程。
        Executors.newCachedThreadPool();
        // 创建定长的线程池，可以控制线程的最大并发数，超出的线程会在队列中等待
        Executors.newFixedThreadPool(10);
        // 创建一个定长的线程池，支持定时、周期性任务执行
        Executors.newScheduledThreadPool(10);
        // 创建一个单线程的线程池，使用一个唯一的工作线程执行任务，所有任务按照指定顺序执行（先入先出或者优先级）。
        Executors.newSingleThreadExecutor();
        // 创建一个单线程的线程池，支持定时任务、周期性的任务执行
        Executors.newSingleThreadScheduledExecutor();
        // 创建一个具有并行级别的work-stealing线程池
        Executors.newWorkStealingPool();

    }
}
